NeighborMom() vs AnyMom()

The way a mother is chosen after death has impacts on the result of the simulation. Below are two methods for selecting that individual to reproduce: weighted sampling by fitness of all individuals (anyMom), or weighted sampling by fitness of only individuals adjacent to the dead one (neighborMom).

Both NeighborMom() and AnyMom() serve as different methods replacing FindMom() based on our method of selecting parents. NeighborMom() only compares fitnesses of neighboring individuals, while AnyMom() looks at fitnesses of all individuals in the population. Locations do not need to be separately updated for NeighborMom(), as each individual is automatically adjacent to a parent.

Old heatmap for Iterating by Ben/CL

High Strength of Selection, AnyMom(), no Distance-based inheritance

The following two runs were created before distance inheritance was implemented, so do not have the mean connection distance and have to use an older hmap() function.

Figure 1 High strength of selection with the mother selected from any individual, pnd and prd not evolving separately. The results above were created with: C=0.5, D=0.0, gen=100000, pn=0.5, distInherit=false, pnd=false, pr=0.0001, prd=false, muP=0.01, delta=0.5, sigmapn=0.01, sigmapr=0.01, reps=10. Initial cooperation frequency was 0.5.

Figure 2 High strength of selection with the mother selected from any individual, pnd but not prd evolving separately. The results above were created with: C=0.5, D=0.0, gen=100000, pn=0.5, distInherit=false, pnd=true, pr=0.0001, prd=false, muP=0.01, delta=0.5, sigmapn=0.01, sigmapr=0.01, reps=10. Initial cooperation frequency was 0.5.

New Heatmap Function

High Strength of Selection, NeighborMom(), no Distance-based inheritance

Figure 3 High strength of selection with the mother selected from dead individuals' neighbors, pnd and prd not evolving separately. The results above were created with: C=0.5, D=0.0, gen=100000, distInherit=false, distFactor=1.0, pn=0.5, findMom=neighborMom, pnd=false, pr=0.0001, prd=false, muP=0.01, delta=0.5, sigmapn=0.01, sigmapr=0.01, reps=10). Initial cooperation frequency was 0.5 .

Figure 4 High strength of selection with the mother selected from dead individuals' neighbors, pnd but not prd evolving separately. The results above were created with: C=0.5, D=0.0, gen=100000, distInherit=false, distFactor=1.0, pn=0.5, findMom=neighborMom, pnd=true, pr=0.0001, prd=false, muP=0.01, delta=0.5, sigmapn=0.01, sigmapr=0.01, reps=10. Initial cooperation frequency was 0.5 .

High Strength of Selection, NeighborMom(), Distance-based inheritance

Figure 5 High strength of selection with the mother selected from dead individuals' neighbors, neither pnd nor prd evolving separately. The results above were created with: C=0.5, D=0.0, gen=100000, distInherit=false, distFactor=1.0, pn=0.5, findMom=neighborMom, pnd=false, pr=0.0001, prd=false, muP=0.01, delta=0.5, sigmapn=0.01, sigmapr=0.01, reps=10. Initial cooperation frequency was 0.5 .

Figure 6 High strength of selection with the mother selected from dead individuals' neighbors, pnd but not prd evolving separately. The results above were created with: C=0.5, D=0.0, gen=100000, distInherit=false, distFactor=1.0, pn=0.5, findMom=neighborMom, pnd=true, pr=0.0001, prd=false, muP=0.01, delta=0.5, sigmapn=0.01, sigmapr=0.01, reps=10. Initial cooperation frequency was 0.5 .

Changing DistFactor / Cost of Linking

Heatmap for Iterating by DistFactor/CL

Figure 7 High strength of selection with the mother selected from any individual, distance-based inheritance enabled, pnd but not prd evolving separately. The results above were created with: B=2.0, C=0.5, D=0.0, gen=100000, distInherit=true, findMom=anyMom, pn=0.5, pnd=true, pr=0.0001, prd=false, muP=0.01, delta=0.5, sigmapn=0.01, sigmapr=0.01, reps=10. Initial cooperation frequency was 0.5.

Figure 8 High strength of selection with the mother selected from dead individuals' neighbors, distance-based inheritance enabled, pnd but not prd evolving separately. The results above were created with: B=2.0, C=0.5, D=0.0, gen=100000, distInherit=true, findMom=neighborMom, pn=0.5, pnd=true, pr=0.0001, prd=false, muP=0.01, delta=0.5, sigmapn=0.01, sigmapr=0.01, reps=10. Initial cooperation frequency was 0.5.

NeighborRange

The following introduces a new parameter, neighborRange, and modifies neighborMom() as below to allow for an input range to control how many individuals are possible to be selected for the mother.

Heatmap for iterating by neighborRange (1-20) and cl

Figure 9 High strength of selection with the mother selected from individuals a distance neighborRange or below from , pnd but not prd evolving separately. The results above were created with: B=2.0, C=0.5, D=0.0, gen=100000, distInherit=false, findMom=neighborMom, pn=0.5, pnd=true, pr=0.0001, prd=false, muP=0.01, delta=0.5, sigmapn=0.01, sigmapr=0.01, reps=10. Initial cooperation frequency was 0.5.

Finding the difference from both runs with anyMom() and neighborMom() and Figure 9. New heatmap below.

Figure 10 Difference between Figure 9 (with neighborRange) and Figure 2 (anyMom) at same inputs, besides findMom method

Figure 11 Difference between Figure 9 (with neighborRange) and Figure 4 (neighborMom, neighborRange set to 1) at same inputs, besides findMom method

Heatmap for iterating by neighborRange (2-40) and cl

Figure 12 High strength of selection with the mother selected from individuals a distance neighborRange or below from, pnd but not prd evolving separately. The results above were created with: B=2.0, C=0.5, D=0.0, gen=100000, distInherit=false, findMom=neighborMom, pn=0.5, pnd=true, pr=0.0001, prd=false, muP=0.01, delta=0.5, sigmapn=0.01, sigmapr=0.01, reps=10. Initial cooperation frequency was 0.5.

Finding the difference from both runs with anyMom() and neighborMom() and Figure 12. New heatmap below.

Figure 13 Difference between Figure 12 (with neighborRange) and Figure 4 (anyMom) at same inputs, besides findMom method

Figure 14 Difference between Figure 12 (with neighborRange) and Figure 4 (neighborMom, neighborRange set to 1) at same inputs, besides findMom method

Stabilization Testing

The following were testing iterating by number of generations (50000, 75000, 100000, 150000, 250000) and cl, to see when cooperation frequency stabilizes.

Heatmap for Iterating by Gen/CL

Figure 15 High strength of selection with the mother selected from any individuals, pnd but not prd evolving separately. The results above were created with: B=2.0, C=0.5, D=0.0, CL=pard["cl"], gen=Int(pard["ben"]), findMom=anyMom, distInherit=false, distFactor=0.975, pn=0.5, pnd=true, pr=0.0001, prd=false, muP=0.01, delta=0.5, sigmapn=0.01, sigmapr=0.01, reps=10. Initial cooperation frequency was 0.5

Figure 16 High strength of selection with the mother selected from dead individuals' neighbors, pnd but not prd evolving separately. The results above were created with: B=2.0, C=0.5, D=0.0, CL=pard["cl"], gen=pard["ben"], findMom=neighborMom, distInherit=false, distFactor=0.975, pn=0.5, pnd=true, pr=0.0001, prd=false, muP=0.01, delta=0.5, sigmapn=0.01, sigmapr=0.01, reps=10. Initial cooperation frequency was 0.5 .